// 上面这个代码处理过度动画（默认加上不用管）
document.addEventListener('DOMContentLoaded', () => {
  setTimeout(() => {
    document.body.classList.add('sidenav-pinned')
    document.body.classList.add('ready')
  }, 200)
})

// 每个页面都会导入该js 统一的设置写这里即可
const myToast = new bootstrap.Toast(document.querySelector('#myToast'), {
  delay: 2000,
})

function tip(msg) {
  // 将传入的msg设置为弹框的内容
  document.querySelector('#myToast .toast-body').innerHTML = msg
  // 调用 显示
  myToast.show()
}

axios.defaults.baseURL = 'http://ajax-api.itheima.net'

const username = localStorage.getItem("username")
const nameSpan = document.querySelector('#navbar-main .font-weight-bold')

  nameSpan && (nameSpan.innerHTML = username)
  
const button = document.querySelector('#logout')
button && (button.onclick = function () {
  localStorage.removeItem('username')
  localStorage.removeItem('token')
  window.location.assign('./login.html')
})

axios.interceptors.request.use(function (config) {
  // console.log("请求拦截器触发了");
  //尝试一下修改内容
  //在请求拦截器中,携带token 页面中的请求不需要额外的写法
  config.headers.Authorization = localStorage.getItem("token")
  return config
}, function (error) {
  return Promise.reject(error)
})

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  // console.log('response',response);
  return response.data;
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  console.dir(error);
  if(error.response.status === 401) {
    window.location.assign('./login.html')
  }
  return Promise.reject(error);
});